package com.ity.teamanagement.mapper;

import com.ity.teamanagement.entity.TeaMessage;
import com.ity.teamanagement.entity.TeaRemarksMessage;
import com.ity.teamanagement.entity.Varieties;
import com.ity.teamanagement.entity.inputParam.BackUpdateTeaRemarksMessageParam;
import com.ity.teamanagement.entity.outputResult.ImgIdParam;
import com.ity.teamanagement.entity.outputResult.QrCodeList;
import com.ity.teamanagement.entity.outputResult.TeaMessageList;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author coderFu
 * @create 2021/5/30
 */
@Mapper
public interface TeaManagementMapper {

    /**
     * 后台添加茶种信息
     * @param teaMessage
     * @return
     */
    Integer addTeaMessage(TeaMessage teaMessage);

    /**
     * 后台添加备注茶种信息
     * @param teaRemarksMessages
     * @return
     */
    Integer addRemarksTeaMessage(List<TeaRemarksMessage> teaRemarksMessages);

    /**
     * 根据茶树图片id更新茶树图片表，即添加茶种id
     * @param teaImgParams
     * @param id
     * @return
     */
    Integer updateTeaImg(Long id,List<Long> teaImgParams);

    /**
     * 根据茶种keyId更新茶种表，即添加茶种id
     * @param id
     * @param teaImgKeyIds
     * @return
     */
    Integer updateTeaImgByKeyId(Long id, List<Long> teaImgKeyIds);

    /**
     * 后台根据茶种id更新茶种信息
     * @param teaMessage
     * @return
     */
    Integer updateTeaMessageById(TeaMessage teaMessage);

    /**
     * 后台根据茶种备注信息表id更新茶种信息
     * @param backUpdateTeaRemarksMessageParams
     * @return
     */
    Integer updateTeaRemarksMessageById(List<BackUpdateTeaRemarksMessageParam> backUpdateTeaRemarksMessageParams);

    /**
     * 后台根据茶种id组查询封面文章图片组id
     * @param ids
     * @return
     */
    List<ImgIdParam> findCoverImgAndArId(List<Long> ids);

    /**
     * 根据茶种id查询附加信息表图片组id
     * @param ids
     * @return
     */
    List<Long> findExKeyIdById(List<Long> ids);

    /**
     * 根据附加表id查询附加信息表id
     * @param ids
     * @return
     */
    List<Long> findExKeyIdByIds(List<Long> ids);

    /**
     * 根据图片组id(封面、文章、附加图）查询图片路径
     * @param allImgIds
     * @return
     */
    List<String> findImgPathByKeyId(List<Long> allImgIds);

    /**
     * 根据茶种id查询图片（芽、叶、单株)路径
     * @param ids
     * @return
     */
    List<String> findTeaImgPathById(List<Long> ids);

    /**
     * 根据茶种id删除茶种信息
     * @param ids
     * @return
     */
    Integer deleteTeaMessageById(List<Long> ids);

    /**
     * 根据附加图片组keyId删除图片信息
     * @param allImgIds
     * @return
     */
    Integer deleteOtherImgId(List<Long> allImgIds);

    /**
     * 根据茶种id删除茶种图片记录
     * @param ids
     * @return
     */
    Integer deleteTeaImg(List<Long> ids);

    /**
     * 后台根据茶种id删除茶种附加信息
     * @param ids
     * @return
     */
    Integer deleteRemarksTeaMessageById(List<Long> ids);


    /**
     * 根据附加茶种id删除茶种附加信息
     * @param ids
     * @return
     */
    Integer deleteRemarksTeaMessageByIds(List<Long> ids);
    /**
     * 查询所有查询茶种图片类别
     * @return
     */
    List<Varieties> findAllVariety();


    /**
     * 查询所有的茶种id
     * @return
     */
    List<TeaMessageList> findAllTeaMessageIds();



}
